package com.shuda.system.service;

import com.shuda.system.dto.UserRoleDTO;

import java.util.List;

/**
 * 用户角色关联服务接口
 */
public interface UserRoleService {

    /**
     * 获取用户角色列表
     */
    List<UserRoleDTO> getUserRoles(Long userId);

    /**
     * 分配用户角色
     */
    void assignUserRoles(Long userId, List<Long> roleIds);

    /**
     * 移除用户角色
     */
    void removeUserRole(Long userId, Long roleId);

    /**
     * 获取角色下的用户列表
     */
    List<UserRoleDTO> getRoleUsers(Long roleId);

    /**
     * 批量添加用户角色
     */
    void batchAssignUserRoles(List<Long> userIds, Long roleId);

    /**
     * 批量移除用户角色
     */
    void batchRemoveUserRoles(List<Long> userIds, Long roleId);
}